/*
 * PolizIterator.h
 *
 *  Created on: 15.04.2012
 *      Author: Eugene Kornykhin
 */

#ifndef POLIZITERATOR_H_
#define POLIZITERATOR_H_

class PElement;
#include "Poliz.h"
#include "PolizPosition.h"

class PolizIterator {
public:
	PolizIterator(Poliz &, PolizPosition);
	PolizIterator(const Poliz &, PolizPosition);
	virtual ~PolizIterator();


	PolizIterator &operator++();
	PElement &operator*() const;

	void moveto(PolizPosition);

	PolizPosition getPosition() const;

private:
	PolizIterator &operator=(const PolizIterator &);

	const Poliz &poliz;
	PolizPosition position;
};

#endif /* POLIZITERATOR_H_ */
